#封装，根据django项目配置的secret_key　加解密
from django.conf import settings
from itsdangerous import TimedJSONWebSignatureSerializer as Serializer

#使用TimeJSONWebSignatureSerializer对象，可以设置有效期


class SecretOauth(object):
    def __init__(self):
#根据签名创建序列化对象
        self.serializer = Serializer(
            secret_key=settings.SECRET_KEY,
            expires_in= 24 * 15 * 60)

#加密
    def dumps(self, content_dict):
        #通过dumps方法，加密数据
        result = self.serializer.dumps(content_dict)
        #result 是bytes类型转成str
        return result.decode()

#解密
    def loads(self, content):
        try:
            #通过loads方法，解密数据
            result = self.serializer.loads(content)
        except Exception as e:
            # print(e)
            #解密失败返回None
            return None
        #返回解密完毕数据
        return result